home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / QuickDraw3D 1.6 SDK / Mac SampleCode New for 1.6 / ViewerCallbackSample / Source / Viewer_System.c < prev    next >
Encoding:
C/C++ Source or Header  |  1999-05-18  |  2.1 KB  |  120 lines  |  [TEXT/CWIE]

  1. /* 
  2.  *    Viewer_System.c
  3.  *
  4.  *    QuickDraw 3D 1.6 Sample
  5.  *    Robert Dierkes
  6.  *
  7.  *     12/22/98    RDD        Created.
  8.  */
  9.  
  10. /*------------------*/
  11. /*    Include Files    */
  12. /*------------------*/
  13. #include "QD3D.h"
  14.  
  15. #if defined(OS_MACINTOSH) && OS_MACINTOSH
  16. #include "QD3DViewer.h"
  17.  
  18. #include <CodeFragments.h>    /* kUnresolvedCFragSymbolAddress */
  19. #include <Gestalt.h>
  20. #include <Resources.h>
  21. #include <Sound.h>
  22. #endif
  23.  
  24. #include "Viewer_Main.h"
  25. #include "Viewer_System.h"
  26. #include "Viewer_Error.h"
  27.  
  28.  
  29. /*----------------------*/
  30. /*    Global Declarations    */
  31. /*----------------------*/
  32.  
  33.  
  34. /*
  35.  *    QuickDraw3D_Initialize
  36.  */
  37. TQ3Boolean QuickDraw3D_Initialize(
  38.             void)
  39. {
  40.     TQ3Status        status = kQ3Failure;
  41.     OSErr            error;
  42.     long            response;
  43.     unsigned long    viewerRelRev;
  44.  
  45.     error = Gestalt(gestaltQD3D, &response);
  46.  
  47.     if ((error != noErr)  ||
  48.         (! (response & (1 << gestaltQD3DPresent)))) {
  49.  
  50.         Error_ShowMessage(kQuickDraw3DNotInstalledStr);
  51.         return kQ3False;
  52.     }
  53.  
  54.     /*
  55.      * Test for specific symbol as recommended in develop, March 1995
  56.      * NOTE: QuickDraw3DLib must be weak linked for this comparison to work.
  57.      */
  58.     if (((void *) Q3Initialize) == (void *) kUnresolvedCFragSymbolAddress) {
  59.         Error_ShowMessage(kQuickDraw3DNotInstalledStr);
  60.         return kQ3False;
  61.     }
  62.  
  63.     status = Q3Initialize();
  64.     if (status == kQ3Failure) {
  65.         ERROR_DEBUG_STR ("QuickDraw3D_Initialize: Q3Initialize returned failure.");
  66.         return kQ3False;
  67.     }
  68.  
  69.     /* Get QuickDraw 3D version */
  70.     error = Gestalt(gestaltQD3DVersion, &response);
  71.  
  72.     if ((error != noErr)  ||
  73.         (response < kQD3DGestaltVersion_1_6_0)) {
  74.  
  75.         Error_ShowMessage(kQuickDraw3DNotCurrentStr);
  76.         return kQ3False;
  77.     }
  78.  
  79.     /* Get Viewer version */
  80.     error = Q3ViewerGetReleaseVersion(&viewerRelRev);
  81.  
  82.     if ((error != noErr)  ||
  83.         (response < kQD3DGestaltVersion_1_6_0)) {
  84.  
  85.         Error_ShowMessage(kQuickDraw3DViewerNotCurrentStr);
  86.         return kQ3False;
  87.     }
  88.  
  89.     return kQ3True;
  90. }
  91.  
  92.  
  93. /*
  94.  *    QuickDraw3D_Exit
  95.  */
  96. TQ3Boolean QuickDraw3D_Exit(
  97.             void)
  98. {
  99.     if (Q3Exit() == kQ3Failure) {
  100.         ERROR_DEBUG_STR ("QuickDraw3D_Exit: Q3Exit returned failure.");
  101.         return kQ3False;
  102.     }
  103.  
  104.     return kQ3True;
  105. }
  106.  
  107.  
  108. #pragma mark -
  109.  
  110. /*
  111.  *    System_Beep
  112.  */
  113. void System_Beep(
  114.     void)
  115. {
  116. #if defined(OS_MACINTOSH) && OS_MACINTOSH
  117.     SysBeep(1);
  118. #endif
  119. }
  120.